// import { InputBox } from './components/inputBox.js';
// import { ReminderList } from './components/reminderList.js';

// class App {
//     constructor() {
//         this.reminderList = new ReminderList(this.handleDeleteReminder.bind(this));
//         this.inputBox = new InputBox(this.handleAddReminder.bind(this));
//         this.init();
//     }

//     init() {
//         const container = document.createElement('div');
//         container.className = 'app-container';

//         const header = document.createElement('header');
//         header.innerHTML = '<h1>备忘精灵</h1>';

//         const main = document.createElement('main');
//         main.appendChild(this.inputBox.render());
//         main.appendChild(this.reminderList.render());

//         container.appendChild(header);
//         container.appendChild(main);

//         document.body.appendChild(container);

//         // 加载初始提醒事项
//         this.loadReminders();
//     }


//     async loadReminders() {
//         try {
//             // 假设 token 已经在某个地方定义好了
//             const response = await axios({
//                 method: 'get',
//                 url: 'https://dhrdfawueimg.sealoshzh.site/my/schedule/list',
//                 headers: {
//                     'Authorization': token
//                 }
//             }).then(results => {
//                 console.log(results.data);
//                 const reminders = results.data;
//                 this.reminderList.setReminders(reminders);
//             }
//             ).catch((error) => {
//                 console.error('加载提醒失败:', error);
//             })

//         } catch (error) {
//             console.error('加载提醒失败:', error);
//         }
//         console.log('ok');

//     }
//     async handleAddReminder(reminder) {
//         try {
//             const newReminder = {
//                 id: Date.now(),
//                 ...reminder
//             };
//             this.reminderList.addReminder(newReminder);
//         } catch (error) {
//             console.error('添加提醒失败:', error);
//             alert('添加提醒失败，请重试');
//         }
//     }

//     async handleDeleteReminder(id) {
//         try {
//             this.reminderList.deleteReminder(id);
//         } catch (error) {
//             console.error('删除提醒失败:', error);
//             alert('删除提醒失败，请重试');
//         }
//     }
// }

// document.addEventListener('DOMContentLoaded', () => {
//     new App();
// });

// frontend/src/main.js
import { InputBox } from './components/inputBox.js';
import { ReminderList } from './components/reminderList.js';
import axios from 'axios';

class App {
    constructor() {
        this.reminderList = new ReminderList(this.handleDeleteReminder.bind(this));
        this.inputBox = new InputBox(this.handleAddReminder.bind(this));
        this.init();
    }

    init() {
        const container = document.createElement('div');
        container.className = 'app-container';

        const header = document.createElement('header');
        header.innerHTML = '<h1>备忘精灵</h1>';

        const main = document.createElement('main');
        main.appendChild(this.inputBox.render());
        main.appendChild(this.reminderList.render());

        container.appendChild(header);
        container.appendChild(main);

        document.body.appendChild(container);

        // 加载初始提醒事项
        this.loadReminders();
    }

    async loadReminders() {
        try {
            const token = sessionStorage.getItem('token'); // 从 sessionStorage 中获取 token
            const response = await axios({
                method: 'get',
                url: 'https://api.example.com/reminders', // 替换为实际的后端接口地址
                headers: {
                    'Authorization': `Bearer ${token}` // 根据实际情况设置请求头
                }
            });
            const reminders = response.data;
            this.reminderList.setReminders(reminders);
        } catch (error) {
            console.error('加载提醒失败:', error);
        }
    }

    async handleAddReminder(reminder) {
        try {
            const newReminder = {
                id: Date.now(),
                ...reminder
            };
            this.reminderList.addReminder(newReminder);
        } catch (error) {
            console.error('添加提醒失败:', error);
            alert('添加提醒失败，请重试');
        }
    }

    async handleDeleteReminder(id) {
        try {
            this.reminderList.deleteReminder(id);
        } catch (error) {
            console.error('删除提醒失败:', error);
            alert('删除提醒失败，请重试');
        }
    }
}

document.addEventListener('DOMContentLoaded', () => {
    new App();
});